import java.util.*;

public class Main {
    // 杨辉三角的变形
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) {
            int n = in.nextInt();
            if (n == 1 || n == 2) {
                System.out.println(-1);
            } else {
                n = (n-2)%4;
                if (n == 1 || n == 3) {
                    System.out.println(2);
                } else if (n == 2) {
                    System.out.println(3);
                } else {
                    System.out.println(4);
                }
            }
        }
    }
    // 计算某字符出现的个数
    public static void main3(String[] args) {
        Map<Character, Integer> map = new HashMap<>();
        Scanner in = new Scanner(System.in);
        String s = in.nextLine();
        // in.next();
        String s2 = in.nextLine();
        s = s.toLowerCase();
        for (int i = 0; i < s.length(); i++) {
            if (!map.containsKey(s.charAt(i))) {
                map.put(s.charAt(i), 1);
            } else {
                map.put(s.charAt(i), map.get(s.charAt(i))+1);
            }
        }
        if (!map.containsKey(s2.toLowerCase().charAt(0))) {
            System.out.println(0);
        } else {
            System.out.println(map.get(s2.toLowerCase().charAt(0)));
        }
    }


    // 扑克牌大小
    public static void main2(String[] args) {
        Scanner in = new Scanner(System.in);
        Map<String, Integer> map = initMap();
        String[] arr = in.nextLine().split("-");
        String[] c1 = arr[0].split(" ");
        String[] c2 = arr[1].split(" ");
        // 比较两手牌中没有炸弹和王炸的时候两手牌的数量, 不相等则输出 ERROR
        if (c1.length != 4 && c1.length != 2
                && c2.length != 4 && c2.length != 2) {
            if (c1.length != c2.length) {
                System.out.println("ERROR");
                return;
            }
        }
        // 手牌有两张的情况
        if (c1.length == 2 || c2.length == 2) {
            // 1. 有一手牌中有王炸
            if (c1[0].equals("joker") || c2[0].equals("joker")
                    || c1[0].equals("JOKER") || c2[0].equals("JOKER")) {
                if (c1[0].equals("joker") || c1[0].equals("JOKER")) {
                    print(c1);
                } else {
                    print(c2);
                }
                return;
            }
            // 2. 手牌数量不匹配 且 不含炸弹
            if (c1.length != c2.length && c1.length != 4 && c2.length != 4) {
                System.out.println("ERROR");
                return;
            }
            // 3. 都是对子
            if (map.get(c1[0]) > map.get(c2[0])) {
                print(c1);
            } else {
                print(c2);
            }
            return;
        }
        // 手牌有四张的情况
        if (c1.length == 4 || c2.length == 4) {
            // 1. 手牌数量不匹配 (此时最大的就是炸弹)
            if (c1.length != c2.length) {
                if (c1.length == 4) {
                    print(c1);
                } else {
                    print(c2);
                }
                return;
            }
            // 2. 两个炸弹
            if (map.get(c1[0]) > map.get(c2[0])) {
                print(c1);
            } else {
                print(c2);
            }
            return;
        }
        // 个子, 三个, 顺子 的情况
        if (map.get(c1[0]) > map.get(c2[0])) {
            print(c1);
        } else {
            print(c2);
        }
    }

    private static Map<String, Integer> initMap() {
        Map<String, Integer> map = new HashMap<>();
        map.put("3", 1);
        map.put("4", 2);
        map.put("5", 3);
        map.put("6", 4);
        map.put("7", 5);
        map.put("8", 6);
        map.put("9", 7);
        map.put("10", 8);
        map.put("J", 9);
        map.put("Q", 10);
        map.put("K", 11);
        map.put("A", 12);
        map.put("2", 13);
        map.put("joker", 14);
        map.put("JOKER", 15);
        return map;
    }
    // 输出结果方法
    private static void print(String[] s) {
        for (String str : s) {
            System.out.print(str + " ");
        }
    }


    // 完全数
    public static void main1(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int res = 0;
        for (int i = 1; i < n; i++) {
            if (isPerfectNum(i)) {
                res++;
            }
        }
        System.out.println(res);
    }

    private static boolean isPerfectNum(int n) {
        List<Integer> list = isApproximateNum(n);
        int sum = 0;
        for (int x : list) {
            sum += x;
        }
        return sum == n;
    }

    private static List<Integer> isApproximateNum(int n) {
        List<Integer> list = new ArrayList<>();
        for (int i = 1; i < n; i++) {
            if (n % i == 0) {
                list.add(i);
            }
        }
        return list;
    }
}
